#ifndef __PLAYER_H
#define __PLAYER_H

#include <iostream>
class Player
{

public:

    Player();
    void Setplayer();
    void kalyhacso();
    void Kiir() const;
    void Fizet(int mennyi);
    void Fizetes(int mennyi);
    std::string GetName() const
    {
        return nev;
    };
    int GetKaszt() const
    {
        return kaszt;
    };
    int GetMaxEnergia() const
    {
        return maxenergia;
    };
    int GetEnergia() const
    {
        return energia;
    };
    int GetTurelem() const
    {
        return turelem;
    };
    int GetIQ() const
    {
        return iq;
    };
    int GetSzorgalom() const
    {
        return szorgalom;
    };
    int GetGyorsasag() const
    {
        return gyorsasag;
    };
    int GetPenz() const
    {
        return penz;
    };
    int GetLevel() const
    {
        return szint;
    };
    int GetTeljesit() const
    {
        return teljesites;
    };
    int GetZHTeljesit() const
    {
        return ZHteljesites;
    };
    bool GetSpeciReady(int melyik) const
    {
        return speciready[melyik-1];
    };
    bool GetTargy(int melyik) const
    {
        return targyak[melyik-1];
    };
    void SetTargyTrue(int melyik)
    {
        targyak[melyik-1]=true;
    }; // 1: kalyhacsoszorito 2: puskaeselynovelo 3: ponteloszto 4:maxratolto 5: kasztvalto
    void SetTargyFalse(int melyik)
    {
        targyak[melyik-1]=false;
    };
    void SetZHTeljesit(int mennyi)
    {
        ZHteljesites=mennyi;
    };
    void SetTeljesit()
    {
        ++teljesites;
    };
    void SetEnergia(int mennyi);
    void SetEnergiaUp(int mennyi);
    void SetMaxEnergiaUp(int mennyi);
    void SetTurelem(int mennyi);
    void SetMaxTurelemUp(int mennyi);
    void SetTurelemUp(int mennyi);
    void SetSzorgalom(int mennyi);
    void SetIQ(int mennyi);
    void SetGyorsasag(int mennyi);
    void SetKredit(int mennyi);
    int XpLeftToLevelUp();
    void LevelUp(int maradek);
    void SpeciReady(int melyik);
    void Gameover(int &hanyszor);


    bool IsAllowedPlayerToFogadas() const
    {
        return allowedtofogadas;
    };
    void AllowPlayerToFogadas()
    {
        allowedtofogadas = true;
    };
    void BanPlayerFromFogadas()
    {
        allowedtofogadas = false;
    };
    void SaveGame() const;
    void LoadGame();
    void PontEloszt();
    void Kasztvalt();

    enum Over {Halal};

private:

    int kaszt; //1: zseni 2: streber 3: hiperaktiv
    int energia;
    int maxenergia;
    int turelem;
    int maxturelem;
    int iq;
    int szorgalom;
    int gyorsasag;
    int szint;
    int penz;
    int kredit;
    std::string nev;
    int ZHteljesites;
    int teljesites;
    bool speciready[4];
    bool allowedtofogadas;
    bool targyak[5];

    void kasztolvas(std::string fajl);

};

#endif

